import axios from 'axios';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
//创建实例对象
const instance = axios.create({
  baseURL: 'http://www.liuchang.com', //默认域名
  timeout: 5000, //超时时间
});

//请求拦截
instance.interceptors.request.use((config) => {
  //开启进度条
  NProgress.start();
  //返回请求的所有的配置信息
  return config;
});

//响应拦截
instance.interceptors.response.use(
  (response) => {
    //   console.log(response);
    //关闭进度条
    NProgress.done();
    if (response.data.code) {
      //返回响应数据
      return response.data.data;
    }
  },
  (error) => {
    //统一输出错误信息
    console.log(error.message);
    //关闭进度条
    NProgress.done();

    // 1. 返回一个 失败状态的Promise
    // return Promise.reject(()=>{});
    // throw error.message;

    // 2. 返回一个 pending 状态的 Promise
    return new Promise(() => {});
  }
);

export default instance;
